// $ANTLR 3.4 C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g 2012-10-24 19:32:19

  package practica6;


import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class AnasintGDL extends Parser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "ARROW", "ARROWSTYLE", "BLANCO", "BORDER", "BORDERSTYLE", "CADENA", "COMENTARIO", "COMILLAS", "DIGITO", "DOS_PUNTOS", "EDGE", "GRAPH", "IDENT", "LABEL", "LETRA", "LLAVE_A", "LLAVE_C", "NODE", "NUMERO", "SOURCE", "TARGET", "TITLE"
    };

    public static final int EOF=-1;
    public static final int ARROW=4;
    public static final int ARROWSTYLE=5;
    public static final int BLANCO=6;
    public static final int BORDER=7;
    public static final int BORDERSTYLE=8;
    public static final int CADENA=9;
    public static final int COMENTARIO=10;
    public static final int COMILLAS=11;
    public static final int DIGITO=12;
    public static final int DOS_PUNTOS=13;
    public static final int EDGE=14;
    public static final int GRAPH=15;
    public static final int IDENT=16;
    public static final int LABEL=17;
    public static final int LETRA=18;
    public static final int LLAVE_A=19;
    public static final int LLAVE_C=20;
    public static final int NODE=21;
    public static final int NUMERO=22;
    public static final int SOURCE=23;
    public static final int TARGET=24;
    public static final int TITLE=25;

    // delegates
    public Parser[] getDelegates() {
        return new Parser[] {};
    }

    // delegators


    public AnasintGDL(TokenStream input) {
        this(input, new RecognizerSharedState());
    }
    public AnasintGDL(TokenStream input, RecognizerSharedState state) {
        super(input, state);
    }

    public String[] getTokenNames() { return AnasintGDL.tokenNames; }
    public String getGrammarFileName() { return "C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g"; }


         private ArrayList<RecognitionException> errors = new ArrayList<RecognitionException>();
         public ArrayList<RecognitionException> getErrors() {
            return errors;
         }
         @Override
         public void reportError (RecognitionException e) {
            String msg = getErrorMessage(e, getTokenNames());
            System.err.println(msg);
            errors.add(e);
         }



    // $ANTLR start "entrada"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:27:1: entrada : GRAPH DOS_PUNTOS LLAVE_A ( nodo | arista | COMENTARIO )* LLAVE_C ;
    public final void entrada() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:27:8: ( GRAPH DOS_PUNTOS LLAVE_A ( nodo | arista | COMENTARIO )* LLAVE_C )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:27:10: GRAPH DOS_PUNTOS LLAVE_A ( nodo | arista | COMENTARIO )* LLAVE_C
            {
            match(input,GRAPH,FOLLOW_GRAPH_in_entrada48); 

            match(input,DOS_PUNTOS,FOLLOW_DOS_PUNTOS_in_entrada50); 

            match(input,LLAVE_A,FOLLOW_LLAVE_A_in_entrada52); 

            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:27:35: ( nodo | arista | COMENTARIO )*
            loop1:
            do {
                int alt1=4;
                switch ( input.LA(1) ) {
                case NODE:
                    {
                    alt1=1;
                    }
                    break;
                case EDGE:
                    {
                    alt1=2;
                    }
                    break;
                case COMENTARIO:
                    {
                    alt1=3;
                    }
                    break;

                }

                switch (alt1) {
            	case 1 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:27:36: nodo
            	    {
            	    pushFollow(FOLLOW_nodo_in_entrada55);
            	    nodo();

            	    state._fsp--;


            	    }
            	    break;
            	case 2 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:27:41: arista
            	    {
            	    pushFollow(FOLLOW_arista_in_entrada57);
            	    arista();

            	    state._fsp--;


            	    }
            	    break;
            	case 3 :
            	    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:27:48: COMENTARIO
            	    {
            	    match(input,COMENTARIO,FOLLOW_COMENTARIO_in_entrada59); 

            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);


            match(input,LLAVE_C,FOLLOW_LLAVE_C_in_entrada63); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "entrada"



    // $ANTLR start "nodo"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:29:1: nodo : NODE DOS_PUNTOS LLAVE_A contenido_nodo LLAVE_C ;
    public final void nodo() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:29:5: ( NODE DOS_PUNTOS LLAVE_A contenido_nodo LLAVE_C )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:29:7: NODE DOS_PUNTOS LLAVE_A contenido_nodo LLAVE_C
            {
            match(input,NODE,FOLLOW_NODE_in_nodo70); 

            match(input,DOS_PUNTOS,FOLLOW_DOS_PUNTOS_in_nodo72); 

            match(input,LLAVE_A,FOLLOW_LLAVE_A_in_nodo74); 

            pushFollow(FOLLOW_contenido_nodo_in_nodo76);
            contenido_nodo();

            state._fsp--;


            match(input,LLAVE_C,FOLLOW_LLAVE_C_in_nodo78); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "nodo"



    // $ANTLR start "contenido_nodo"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:1: contenido_nodo : ( ( title label ( borderstyle )? ) | ( label title ( borderstyle )? ) );
    public final void contenido_nodo() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:15: ( ( title label ( borderstyle )? ) | ( label title ( borderstyle )? ) )
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==TITLE) ) {
                alt4=1;
            }
            else if ( (LA4_0==LABEL) ) {
                alt4=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 4, 0, input);

                throw nvae;

            }
            switch (alt4) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:17: ( title label ( borderstyle )? )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:17: ( title label ( borderstyle )? )
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:18: title label ( borderstyle )?
                    {
                    pushFollow(FOLLOW_title_in_contenido_nodo86);
                    title();

                    state._fsp--;


                    pushFollow(FOLLOW_label_in_contenido_nodo88);
                    label();

                    state._fsp--;


                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:30: ( borderstyle )?
                    int alt2=2;
                    int LA2_0 = input.LA(1);

                    if ( (LA2_0==BORDERSTYLE) ) {
                        alt2=1;
                    }
                    switch (alt2) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:30: borderstyle
                            {
                            pushFollow(FOLLOW_borderstyle_in_contenido_nodo90);
                            borderstyle();

                            state._fsp--;


                            }
                            break;

                    }


                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:44: ( label title ( borderstyle )? )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:44: ( label title ( borderstyle )? )
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:45: label title ( borderstyle )?
                    {
                    pushFollow(FOLLOW_label_in_contenido_nodo95);
                    label();

                    state._fsp--;


                    pushFollow(FOLLOW_title_in_contenido_nodo97);
                    title();

                    state._fsp--;


                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:57: ( borderstyle )?
                    int alt3=2;
                    int LA3_0 = input.LA(1);

                    if ( (LA3_0==BORDERSTYLE) ) {
                        alt3=1;
                    }
                    switch (alt3) {
                        case 1 :
                            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:31:57: borderstyle
                            {
                            pushFollow(FOLLOW_borderstyle_in_contenido_nodo99);
                            borderstyle();

                            state._fsp--;


                            }
                            break;

                    }


                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "contenido_nodo"



    // $ANTLR start "title"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:33:1: title : TITLE DOS_PUNTOS CADENA ;
    public final void title() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:33:6: ( TITLE DOS_PUNTOS CADENA )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:33:8: TITLE DOS_PUNTOS CADENA
            {
            match(input,TITLE,FOLLOW_TITLE_in_title108); 

            match(input,DOS_PUNTOS,FOLLOW_DOS_PUNTOS_in_title110); 

            match(input,CADENA,FOLLOW_CADENA_in_title112); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "title"



    // $ANTLR start "label"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:35:1: label : LABEL DOS_PUNTOS CADENA ;
    public final void label() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:35:6: ( LABEL DOS_PUNTOS CADENA )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:35:8: LABEL DOS_PUNTOS CADENA
            {
            match(input,LABEL,FOLLOW_LABEL_in_label119); 

            match(input,DOS_PUNTOS,FOLLOW_DOS_PUNTOS_in_label121); 

            match(input,CADENA,FOLLOW_CADENA_in_label123); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "label"



    // $ANTLR start "borderstyle"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:37:1: borderstyle : BORDERSTYLE DOS_PUNTOS BORDER ;
    public final void borderstyle() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:37:12: ( BORDERSTYLE DOS_PUNTOS BORDER )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:37:14: BORDERSTYLE DOS_PUNTOS BORDER
            {
            match(input,BORDERSTYLE,FOLLOW_BORDERSTYLE_in_borderstyle130); 

            match(input,DOS_PUNTOS,FOLLOW_DOS_PUNTOS_in_borderstyle132); 

            match(input,BORDER,FOLLOW_BORDER_in_borderstyle134); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "borderstyle"



    // $ANTLR start "arista"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:39:1: arista : EDGE DOS_PUNTOS LLAVE_A contenido_arista LLAVE_C ;
    public final void arista() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:39:7: ( EDGE DOS_PUNTOS LLAVE_A contenido_arista LLAVE_C )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:39:9: EDGE DOS_PUNTOS LLAVE_A contenido_arista LLAVE_C
            {
            match(input,EDGE,FOLLOW_EDGE_in_arista141); 

            match(input,DOS_PUNTOS,FOLLOW_DOS_PUNTOS_in_arista143); 

            match(input,LLAVE_A,FOLLOW_LLAVE_A_in_arista145); 

            pushFollow(FOLLOW_contenido_arista_in_arista147);
            contenido_arista();

            state._fsp--;


            match(input,LLAVE_C,FOLLOW_LLAVE_C_in_arista149); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "arista"



    // $ANTLR start "contenido_arista"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:1: contenido_arista : ( ( source target arrowstyle ) | ( target source arrowstyle ) | ( target arrowstyle source ) | ( arrowstyle source target ) );
    public final void contenido_arista() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:17: ( ( source target arrowstyle ) | ( target source arrowstyle ) | ( target arrowstyle source ) | ( arrowstyle source target ) )
            int alt5=4;
            switch ( input.LA(1) ) {
            case SOURCE:
                {
                alt5=1;
                }
                break;
            case TARGET:
                {
                int LA5_2 = input.LA(2);

                if ( (LA5_2==DOS_PUNTOS) ) {
                    int LA5_4 = input.LA(3);

                    if ( (LA5_4==CADENA) ) {
                        int LA5_5 = input.LA(4);

                        if ( (LA5_5==SOURCE) ) {
                            alt5=2;
                        }
                        else if ( (LA5_5==ARROWSTYLE) ) {
                            alt5=3;
                        }
                        else {
                            NoViableAltException nvae =
                                new NoViableAltException("", 5, 5, input);

                            throw nvae;

                        }
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 5, 4, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 5, 2, input);

                    throw nvae;

                }
                }
                break;
            case ARROWSTYLE:
                {
                alt5=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 5, 0, input);

                throw nvae;

            }

            switch (alt5) {
                case 1 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:19: ( source target arrowstyle )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:19: ( source target arrowstyle )
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:20: source target arrowstyle
                    {
                    pushFollow(FOLLOW_source_in_contenido_arista157);
                    source();

                    state._fsp--;


                    pushFollow(FOLLOW_target_in_contenido_arista159);
                    target();

                    state._fsp--;


                    pushFollow(FOLLOW_arrowstyle_in_contenido_arista161);
                    arrowstyle();

                    state._fsp--;


                    }


                    }
                    break;
                case 2 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:46: ( target source arrowstyle )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:46: ( target source arrowstyle )
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:47: target source arrowstyle
                    {
                    pushFollow(FOLLOW_target_in_contenido_arista165);
                    target();

                    state._fsp--;


                    pushFollow(FOLLOW_source_in_contenido_arista167);
                    source();

                    state._fsp--;


                    pushFollow(FOLLOW_arrowstyle_in_contenido_arista169);
                    arrowstyle();

                    state._fsp--;


                    }


                    }
                    break;
                case 3 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:73: ( target arrowstyle source )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:73: ( target arrowstyle source )
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:74: target arrowstyle source
                    {
                    pushFollow(FOLLOW_target_in_contenido_arista173);
                    target();

                    state._fsp--;


                    pushFollow(FOLLOW_arrowstyle_in_contenido_arista175);
                    arrowstyle();

                    state._fsp--;


                    pushFollow(FOLLOW_source_in_contenido_arista177);
                    source();

                    state._fsp--;


                    }


                    }
                    break;
                case 4 :
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:100: ( arrowstyle source target )
                    {
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:100: ( arrowstyle source target )
                    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:41:101: arrowstyle source target
                    {
                    pushFollow(FOLLOW_arrowstyle_in_contenido_arista181);
                    arrowstyle();

                    state._fsp--;


                    pushFollow(FOLLOW_source_in_contenido_arista183);
                    source();

                    state._fsp--;


                    pushFollow(FOLLOW_target_in_contenido_arista185);
                    target();

                    state._fsp--;


                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "contenido_arista"



    // $ANTLR start "source"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:43:1: source : SOURCE DOS_PUNTOS CADENA ;
    public final void source() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:43:7: ( SOURCE DOS_PUNTOS CADENA )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:43:9: SOURCE DOS_PUNTOS CADENA
            {
            match(input,SOURCE,FOLLOW_SOURCE_in_source193); 

            match(input,DOS_PUNTOS,FOLLOW_DOS_PUNTOS_in_source195); 

            match(input,CADENA,FOLLOW_CADENA_in_source197); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "source"



    // $ANTLR start "target"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:45:1: target : TARGET DOS_PUNTOS CADENA ;
    public final void target() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:45:7: ( TARGET DOS_PUNTOS CADENA )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:45:9: TARGET DOS_PUNTOS CADENA
            {
            match(input,TARGET,FOLLOW_TARGET_in_target204); 

            match(input,DOS_PUNTOS,FOLLOW_DOS_PUNTOS_in_target206); 

            match(input,CADENA,FOLLOW_CADENA_in_target208); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "target"



    // $ANTLR start "arrowstyle"
    // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:47:1: arrowstyle : ARROWSTYLE DOS_PUNTOS ARROW ;
    public final void arrowstyle() throws RecognitionException {
        try {
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:47:11: ( ARROWSTYLE DOS_PUNTOS ARROW )
            // C:\\Users\\usuario\\workspace\\Practica6-PL\\src\\main\\java\\practica6\\AnasintGDL.g:47:13: ARROWSTYLE DOS_PUNTOS ARROW
            {
            match(input,ARROWSTYLE,FOLLOW_ARROWSTYLE_in_arrowstyle215); 

            match(input,DOS_PUNTOS,FOLLOW_DOS_PUNTOS_in_arrowstyle217); 

            match(input,ARROW,FOLLOW_ARROW_in_arrowstyle219); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
        	// do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "arrowstyle"

    // Delegated rules


 

    public static final BitSet FOLLOW_GRAPH_in_entrada48 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOS_PUNTOS_in_entrada50 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_LLAVE_A_in_entrada52 = new BitSet(new long[]{0x0000000000304400L});
    public static final BitSet FOLLOW_nodo_in_entrada55 = new BitSet(new long[]{0x0000000000304400L});
    public static final BitSet FOLLOW_arista_in_entrada57 = new BitSet(new long[]{0x0000000000304400L});
    public static final BitSet FOLLOW_COMENTARIO_in_entrada59 = new BitSet(new long[]{0x0000000000304400L});
    public static final BitSet FOLLOW_LLAVE_C_in_entrada63 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_NODE_in_nodo70 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOS_PUNTOS_in_nodo72 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_LLAVE_A_in_nodo74 = new BitSet(new long[]{0x0000000002020000L});
    public static final BitSet FOLLOW_contenido_nodo_in_nodo76 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_LLAVE_C_in_nodo78 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_title_in_contenido_nodo86 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_label_in_contenido_nodo88 = new BitSet(new long[]{0x0000000000000102L});
    public static final BitSet FOLLOW_borderstyle_in_contenido_nodo90 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_label_in_contenido_nodo95 = new BitSet(new long[]{0x0000000002000000L});
    public static final BitSet FOLLOW_title_in_contenido_nodo97 = new BitSet(new long[]{0x0000000000000102L});
    public static final BitSet FOLLOW_borderstyle_in_contenido_nodo99 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_TITLE_in_title108 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOS_PUNTOS_in_title110 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CADENA_in_title112 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_LABEL_in_label119 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOS_PUNTOS_in_label121 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CADENA_in_label123 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_BORDERSTYLE_in_borderstyle130 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOS_PUNTOS_in_borderstyle132 = new BitSet(new long[]{0x0000000000000080L});
    public static final BitSet FOLLOW_BORDER_in_borderstyle134 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_EDGE_in_arista141 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOS_PUNTOS_in_arista143 = new BitSet(new long[]{0x0000000000080000L});
    public static final BitSet FOLLOW_LLAVE_A_in_arista145 = new BitSet(new long[]{0x0000000001800020L});
    public static final BitSet FOLLOW_contenido_arista_in_arista147 = new BitSet(new long[]{0x0000000000100000L});
    public static final BitSet FOLLOW_LLAVE_C_in_arista149 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_source_in_contenido_arista157 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_target_in_contenido_arista159 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_arrowstyle_in_contenido_arista161 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_target_in_contenido_arista165 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_source_in_contenido_arista167 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_arrowstyle_in_contenido_arista169 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_target_in_contenido_arista173 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_arrowstyle_in_contenido_arista175 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_source_in_contenido_arista177 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_arrowstyle_in_contenido_arista181 = new BitSet(new long[]{0x0000000000800000L});
    public static final BitSet FOLLOW_source_in_contenido_arista183 = new BitSet(new long[]{0x0000000001000000L});
    public static final BitSet FOLLOW_target_in_contenido_arista185 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_SOURCE_in_source193 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOS_PUNTOS_in_source195 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CADENA_in_source197 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_TARGET_in_target204 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOS_PUNTOS_in_target206 = new BitSet(new long[]{0x0000000000000200L});
    public static final BitSet FOLLOW_CADENA_in_target208 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ARROWSTYLE_in_arrowstyle215 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_DOS_PUNTOS_in_arrowstyle217 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_ARROW_in_arrowstyle219 = new BitSet(new long[]{0x0000000000000002L});

}